﻿using System.Reflection;
using System.Configuration;

namespace DALFactory
{
    public sealed class DataAccess
    {
        private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];

        private DataAccess() { }

        //有需要的时候，这个函数可以单独提取出来建一个类，管理与配置文件相关的各种动态对象的创建、维护
        public static object LocateDALObject(string className)
        {
            string fullPath = path + "." + className;
            return Assembly.Load(path).CreateInstance(fullPath);
        }
        
        public static IDAL.IATEUser CreateATEUser() {
            return (IDAL.IATEUser)LocateDALObject("ATEUser");
        }

        public static IDAL.ICustomer CreateCustomer() {
            return (IDAL.ICustomer)LocateDALObject("Customer");
        }

        public static IDAL.IENA CreateENA() {
            return (IDAL.IENA)LocateDALObject("ENA");
        }

        public static IDAL.IVendor CreateVendor()
        {
            return (IDAL.IVendor)LocateDALObject("Vendor");
        }

        public static IDAL.IMeasType CreateMeasType() {
            return (IDAL.IMeasType)LocateDALObject("MeasType");
        }

        public static IDAL.IProductType CreateProductType()
        {
            return (IDAL.IProductType)LocateDALObject("ProductType");
        }

        public static IDAL.IProductType_ZTE CreateProductType_ZTE()
        {
            return (IDAL.IProductType_ZTE)LocateDALObject("ProductType_ZTE");
        }

        /*替换前的函数写法
        public static IDAL.ITest CreateTest()
        {
            string className = path + ".Test";
            return (IDAL.ITest)Assembly.Load(path).CreateInstance(className);
        }
        */

        public static IDAL.RF.TestRecord.IAction_Record CreateAction_Record()
        {
            return (IDAL.RF.TestRecord.IAction_Record)LocateDALObject("RF.TestRecord.Action_Record");
        }

        public static IDAL.RF.TestRecord.ITest_Record CreateTest_Record()
        {
            return (IDAL.RF.TestRecord.ITest_Record)LocateDALObject("RF.TestRecord.Test_Record");
        }

        public static IDAL.RF.TestRecord.ITestItem_Record CreateTestItem_Record()
        {
            return (IDAL.RF.TestRecord.ITestItem_Record)LocateDALObject("RF.TestRecord.TestItem_Record");
        }

        //代替上一个函数
        public static IDAL.ITest CreateTest()
        {
            return (IDAL.ITest)LocateDALObject("Test");
        }

        public static IDAL.ITestItem CreateTestItem()
        {
            return (IDAL.ITestItem)LocateDALObject("TestItem");
        }

        public static IDAL.ITestAndItem CreateTestAndItem()
        {
            return (IDAL.ITestAndItem)LocateDALObject("TestAndItem");
        }

        public static IDAL.IHighFTestAndItem CreateHighFTestAndItem()
        {
            return (IDAL.IHighFTestAndItem)LocateDALObject("HighFTestAndItem");
        }

        public static IDAL.RF.ATETest.ITest_Active CreateTest_Active()
        {
            return (IDAL.RF.ATETest.ITest_Active)LocateDALObject("RF.ATETest.Test_Active");
        }

        public static IDAL.RF.ATETest.ITestItem_Active CreateTestItem_Active()
        {
            return (IDAL.RF.ATETest.ITestItem_Active)LocateDALObject("RF.ATETest.TestItem_Active");
        }

        //中兴格式电性能测试数据
        public static IDAL.RF.ATETest.Itb_result_DFL Createtb_result_DFL()
        {
            return (IDAL.RF.ATETest.Itb_result_DFL)LocateDALObject("RF.ATETest.tb_result_DFL");
        }

        public static IDAL.RF.ATETest.Itb_DFL_Info Createtb_DFL_Info()
        {
            return (IDAL.RF.ATETest.Itb_DFL_Info)LocateDALObject("RF.ATETest.tb_DFL_Info");
        }

        public static IDAL.RF.ATETest.Itb_Param_DFL Createtb_Param_DFL()
        {
            return (IDAL.RF.ATETest.Itb_Param_DFL)LocateDALObject("RF.ATETest.tb_Param_DFL");
        }

        public static IDAL.ITestModifyLog CreateTestModifyLog()
        {
            return (IDAL.ITestModifyLog)LocateDALObject("TestModifyLog");
        }

        public static IDAL.ITestItemModifyLog CreateTestItemModifyLog()
        {
            return (IDAL.ITestItemModifyLog)LocateDALObject("TestItemModifyLog");
        }

        public static IDAL.ITest_Q CreateTest_Q()
        {
            return (IDAL.ITest_Q)LocateDALObject("Test_Q");
        }

        public static IDAL.ITest_QT CreateTest_QT()
        {
            return (IDAL.ITest_QT)LocateDALObject("Test_QT");
        }

        public static IDAL.ITest_PRT CreateTest_PRT()
        {
            return (IDAL.ITest_PRT)LocateDALObject("Test_PRT");
        }

        public static IDAL.RF.QuantityandTime.IHighFTest_PRT CreateHighFTest_PRT()
        {
            return (IDAL.RF.QuantityandTime.IHighFTest_PRT)LocateDALObject("RF.QuantityandTime.HighFTest_PRT");
        }

        public static IDAL.RF.QuantityandTime.ITest_PRDepartment CreateTest_PRDepartment()
        {
            return (IDAL.RF.QuantityandTime.ITest_PRDepartment)LocateDALObject("RF.QuantityandTime.Test_PRDepartment");
        }

        public static IDAL.ITestItem_PP CreateTestItem_PP()
        {
            return (IDAL.ITestItem_PP)LocateDALObject("TestItem_PP");
        }

        public static IDAL.ITestItem_CPK CreateTestItem_CPK()
        {
            return (IDAL.ITestItem_CPK)LocateDALObject("TestItem_CPK");
        }

        public static IDAL.ITestItem_SPC CreateTestItem_SPC()
        {
            return (IDAL.ITestItem_SPC)LocateDALObject("TestItem_SPC");
        }

        public static IDAL.RF.ATETest.ITestItem_fancha_85E CreateTestItem_fancha_85E()
        {
            return (IDAL.RF.ATETest.ITestItem_fancha_85E)LocateDALObject("RF.ATETest.TestItem_fancha_85E");
        }

        public static IDAL.IPackageProduct CreatePackageProduct()
        {
            return (IDAL.IPackageProduct)LocateDALObject("PackageProduct");
        }

        public static IDAL.IPackageProduct_QT CreatePackageProduct_QT()
        {
            return (IDAL.IPackageProduct_QT)LocateDALObject("PackageProduct_QT");
        }
        
        //过渡期相关
        public static IDAL.IInterim CreateInterim()
        {
            return (IDAL.IInterim)LocateDALObject("Interim");
        }

        //L系列二维条码相关
        public static IDAL.RF.ATETest.ITwoDimensionSN CreateTwoDimensionSN()
        {
            return (IDAL.RF.ATETest.ITwoDimensionSN)LocateDALObject("RF.ATETest.TwoDimensionSN");
        }

        public static IDAL.RF.ATETest.ITwoDimensionSN_L13 CreateTwoDimensionSN_L13()
        {
            return (IDAL.RF.ATETest.ITwoDimensionSN_L13)LocateDALObject("RF.ATETest.TwoDimensionSN_L13");
        }

        public static IDAL.IPIMTest CreatePIMTest()
        {
            return (IDAL.IPIMTest)LocateDALObject("PIMTest");
        }

        public static IDAL.RF.PIM.IPIMTest_temp CreatePIMTest_temp()
        {
            return (IDAL.RF.PIM.IPIMTest_temp)LocateDALObject("RF.PIM.PIMTest_temp");
        }

        public static IDAL.IPIMTestItem CreatePIMTestItem()
        {
            return (IDAL.IPIMTestItem)LocateDALObject("PIMTestItem");
        }

        //大功率测试工序
        public static IDAL.RF.PowerTest.IPowerTest CreatePowerTest()
        {
            return (IDAL.RF.PowerTest.IPowerTest)LocateDALObject("RF.PowerTest.PowerTest");
        }

        public static IDAL.RF.PowerTest.IPowerTest_temp CreatePowerTest_temp()
        {
            return (IDAL.RF.PowerTest.IPowerTest_temp)LocateDALObject("RF.PowerTest.PowerTest_temp");
        }

        public static IDAL.RF.PowerTest.IPowerTestItem CreatePowerTestItem()
        {
            return (IDAL.RF.PowerTest.IPowerTestItem)LocateDALObject("RF.PowerTest.PowerTestItem");
        }

        public static IDAL.RF.PowerTest.IPowerTestStatistics CreatePowerTestStatistics()
        {
            return (IDAL.RF.PowerTest.IPowerTestStatistics)LocateDALObject("RF.PowerTest.PowerTestStatistics");
        }

        public static IDAL.RF.ProductCategory.IProductType_MultiBand CreateProductType_MultiBand()
        {
            return (IDAL.RF.ProductCategory.IProductType_MultiBand)LocateDALObject("RF.ProductCategory.ProductType_MultiBand");
        }

        public static IDAL.IProductSNState CreateProductSNState()
        {
            return (IDAL.IProductSNState)LocateDALObject("ProductSNState");
        }

        public static IDAL.IDiagnoseBottleneck CreateDiagnoseBottleneck()
        {
            return (IDAL.IDiagnoseBottleneck)LocateDALObject("DiagnoseBottleneck");
        }

        public static IDAL.RF.DiagnoseBottleneck.IProduction_ForMan CreateProduction_ForMan()
        {
            return (IDAL.RF.DiagnoseBottleneck.IProduction_ForMan)LocateDALObject("RF.DiagnoseBottleneck.Production_ForMan");
        }

        public static IDAL.IAging CreateAging()
        {
            return (IDAL.IAging)LocateDALObject("Aging");
        }

        public static IDAL.IPCBAging CreatePCBAging()
        {
            return (IDAL.IPCBAging)LocateDALObject("PCBAging");
        }

        public static IDAL.IAgingItem CreateAgingItem()
        {
            return (IDAL.IAgingItem)LocateDALObject("AgingItem");
        }

        public static IDAL.RF.DebugTest.IPortTest CreatePortTest()
        {
            return (IDAL.RF.DebugTest.IPortTest)LocateDALObject("RF.DebugTest.PortTest");
        }

        public static IDAL.IDebugTest CreateDebugTest()
        {
            return (IDAL.IDebugTest)LocateDALObject("DebugTest");
        }

        public static IDAL.IProductType_AgingInfo CreateProductType_AgingInfo()
        {
            return (IDAL.IProductType_AgingInfo)LocateDALObject("ProductType_AgingInfo");
        }

        public static IDAL.IRepair CreateRepair()
        {
            return (IDAL.IRepair)LocateDALObject("Repair");
        }

        public static IDAL.IRepairItem CreateRepairItem()
        {
            return (IDAL.IRepairItem)LocateDALObject("RepairItem");
        }

        public static IDAL.RF.Repair.IRepairRoute CreateRepairRoute()
        {
            return (IDAL.RF.Repair.IRepairRoute)LocateDALObject("RF.Repair.RepairRoute");
        }

        public static IDAL.RF.Repair.IRepairConfig CreateRepairConfig()
        {
            return (IDAL.RF.Repair.IRepairConfig)LocateDALObject("RF.Repair.RepairConfig");
        }

        public static IDAL.RF.Repair.IRepairLock CreateRepairLock()
        {
            return (IDAL.RF.Repair.IRepairLock)LocateDALObject("RF.Repair.RepairLock");
        }

        public static IDAL.RF.Repair.IRepairCancel CreateRepairCancel()
        {
            return (IDAL.RF.Repair.IRepairCancel)LocateDALObject("RF.Repair.RepairCancel");
        }

        public static IDAL.IPackageSNChange CreatePackageSNChange()
        {
            return (IDAL.IPackageSNChange)LocateDALObject("PackageSNChange");
        }

        public static IDAL.RF.Repair.IProductTypeIDChange CreateProductTypeIDChange()
        {
            return (IDAL.RF.Repair.IProductTypeIDChange)LocateDALObject("RF.Repair.ProductTypeIDChange");
        }

        //-------------------------------------以下为中兴电子指标单交调/大功率相关------------------------------------

        public static IDAL.IZTEPIMAndPower CreateZTEPIMAndPower()
        {
            return (IDAL.IZTEPIMAndPower)LocateDALObject("ZTEPIMAndPower");
        }

        //-------------------------------------以下为追溯相关---------------------------------------------------------

        //客户端软件版本
        public static IDAL.IClientSoftware CreateClientSoftware()
        {
            return (IDAL.IClientSoftware)LocateDALObject("ClientSoftware");
        }

        public static IDAL.IClientSoft CreateClientSoft()
        {
            return (IDAL.IClientSoft)LocateDALObject("ClientSoft");
        }

        public static IDAL.IProductType_Flow CreateProductType_Flow()
        {
            return (IDAL.IProductType_Flow)LocateDALObject("ProductType_Flow");
        }

        public static IDAL.RF.ProductCategory.IProductType_Flow_ChangeLog CreateProductType_Flow_ChangeLog()
        {
            return (IDAL.RF.ProductCategory.IProductType_Flow_ChangeLog)LocateDALObject("RF.ProductCategory.ProductType_Flow_ChangeLog");
        }

        public static IDAL.RF.ChangeLog.IRepairConfig_ChangeLog CreateRepairConfig_ChangeLog()
        {
            return (IDAL.RF.ChangeLog.IRepairConfig_ChangeLog)LocateDALObject("RF.ChangeLog.RepairConfig_ChangeLog");
        }

        public static IDAL.IBlotScrew CreateBlotScrew()
        {
            return (IDAL.IBlotScrew)LocateDALObject("BlotScrew");
        }

        public static IDAL.IJointingFailure CreateJointingFailure()
        {
            return (IDAL.IJointingFailure)LocateDALObject("JointingFailure");
        }

        public static IDAL.RF.JointingCheck.IJointingFailure_Q CreateJointingFailure_Q()
        {
            return (IDAL.RF.JointingCheck.IJointingFailure_Q)LocateDALObject("RF.JointingCheck.JointingFailure_Q");
        }

        public static IDAL.IJointingCheck CreateJointingCheck()
        {
            return (IDAL.IJointingCheck)LocateDALObject("JointingCheck");
        }

        public static IDAL.IQCFixedCheck CreateQCFixedCheck()
        {
            return (IDAL.IQCFixedCheck)LocateDALObject("QCFixedCheck");
        }

        public static IDAL.RF.JointingCheck.IQCPackCheck CreateQCPackCheck()
        {
            return (IDAL.RF.JointingCheck.IQCPackCheck)LocateDALObject("RF.JointingCheck.QCPackCheck");
        }

        public static IDAL.IProductType_Step_Flow CreateProductType_Step_Flow()
        {
            return (IDAL.IProductType_Step_Flow)LocateDALObject("ProductType_Step_Flow");
        }

        //-------------------------------------以下为有源追溯相关---------------------------------------------------------

        public static IDAL.IProductType_Step CreateProductType_Step()
        {
            return (IDAL.IProductType_Step)LocateDALObject("ProductType_Step");
        }

        public static IDAL.IFinalCheck CreateFinalCheck()
        {
            return (IDAL.IFinalCheck)LocateDALObject("FinalCheck");
        }

        public static IDAL.IFinalCheckItem CreateFinalCheckItem()
        {
            return (IDAL.IFinalCheckItem)LocateDALObject("FinalCheckItem");
        }

        public static IDAL.IEPROMCheck CreateEPROMCheck()
        {
            return (IDAL.IEPROMCheck)LocateDALObject("EPROMCheck");
        }

        public static IDAL.IVSWRCheck CreateVSWRCheck()
        {
            return (IDAL.IVSWRCheck)LocateDALObject("VSWRCheck");
        }

        public static IDAL.RF.SourceCategory.IVSWRCheckItem CreateVSWRCheckItem()
        {
            return (IDAL.RF.SourceCategory.IVSWRCheckItem)LocateDALObject("RF.SourceCategory.VSWRCheckItem");
        }
        
        public static IDAL.RF.SourceCategory.INFCheck CreateNFCheck()
        {
            return (IDAL.RF.SourceCategory.INFCheck)LocateDALObject("RF.SourceCategory.NFCheck");
        }

        public static IDAL.RF.SourceCategory.INFCheckItem CreateNFCheckItem()
        {
            return (IDAL.RF.SourceCategory.INFCheckItem)LocateDALObject("RF.SourceCategory.NFCheckItem");
        }
        
        public static IDAL.RF.SourceCategory.ITemperatureCheck CreateTemperatureCheck()
        {
            return (IDAL.RF.SourceCategory.ITemperatureCheck)LocateDALObject("RF.SourceCategory.TemperatureCheck");
        }

        public static IDAL.RF.SourceCategory.IVoltageCheck CreateVoltageCheck()
        {
            return (IDAL.RF.SourceCategory.IVoltageCheck)LocateDALObject("RF.SourceCategory.VoltageCheck");
        }

        //-------------------------------------以下为PCBA相关---------------------------------------------------------

        public static IDAL.IPCBA CreatePCBA()
        {
            return (IDAL.IPCBA)LocateDALObject("PCBA");
        }
        
        public static IDAL.IPCBUnion CreatePCBUnion()
        {
            return (IDAL.IPCBUnion)LocateDALObject("PCBUnion");
        }

        public static IDAL.IPCBAssemble CreatePCBAssemble()
        {
            return (IDAL.IPCBAssemble)LocateDALObject("PCBAssemble");
        }

        public static IDAL.IPCBAssembleDetail CreatePCBAssembleDetail()
        {
            return (IDAL.IPCBAssembleDetail)LocateDALObject("PCBAssembleDetail");
        }

        public static IDAL.IPCBAssembleItem CreatePCBAssembleItem()
        {
            return (IDAL.IPCBAssembleItem)LocateDALObject("PCBAssembleItem");
        }

        public static IDAL.IPCBAUnion CreatePCBAUnion()
        {
            return (IDAL.IPCBAUnion)LocateDALObject("PCBAUnion");
        }

        public static IDAL.IPCBAUnionItem CreatePCBAUnionItem()
        {
            return (IDAL.IPCBAUnionItem)LocateDALObject("PCBAUnionItem");
        }

        public static IDAL.IPCBAJointingCheck CreatePCBAJointingCheck()
        {
            return (IDAL.IPCBAJointingCheck)LocateDALObject("PCBAJointingCheck");
        }

        public static IDAL.IPCBAVTest CreatePCBAVTest()
        {
            return (IDAL.IPCBAVTest)LocateDALObject("PCBAVTest");
        }

        public static IDAL.IPCBAVItem CreatePCBAVItem()
        {
            return (IDAL.IPCBAVItem)LocateDALObject("PCBAVItem");
        }

        //-------------------------------------以下为腔体装配相关---------------------------------------------------------

        public static IDAL.IMO CreateMO()
        {
            return (IDAL.IMO)LocateDALObject("MO");
        }

        public static IDAL.IHouse CreateHouse()
        {
            return (IDAL.IHouse)LocateDALObject("House");
        }

        public static IDAL.IAssembleDetail CreateAssembleDetail()
        {
            return (IDAL.IAssembleDetail)LocateDALObject("AssembleDetail");
        }

        public static IDAL.IAssembleDetailItem CreateAssembleDetailItem()
        {
            return (IDAL.IAssembleDetailItem)LocateDALObject("AssembleDetailItem");
        }

        public static IDAL.IAssembleDetails CreateAssembleDetails()
        {
            return (IDAL.IAssembleDetails)LocateDALObject("AssembleDetails");
        }

        public static IDAL.IAssembleStep CreateAssembleStep()
        {
            return (IDAL.IAssembleStep)LocateDALObject("AssembleStep");
        }

        public static IDAL.IAssembleStepItem CreateAssembleStepItem()
        {
            return (IDAL.IAssembleStepItem)LocateDALObject("AssembleStepItem");
        }

        public static IDAL.RF.Warehouse.IStockOut CreateStockOut()
        {
            return (IDAL.RF.Warehouse.IStockOut)LocateDALObject("RF.Warehouse.StockOut");
        }

        //-------------------------------------以下为射频装箱工序相关---------------------------------------------------------

        public static IDAL.RF.Package.ISNUnion CreateSNUnion()
        {
            return (IDAL.RF.Package.ISNUnion)LocateDALObject("RF.Package.SNUnion");
        }

        public static IDAL.RF.Package.IPackage CreatePackage()
        {
            return (IDAL.RF.Package.IPackage)LocateDALObject("RF.Package.Package");
        }

        public static IDAL.RF.Package.IPack_Label_Print CreatePack_Label_Print()
        {
            return (IDAL.RF.Package.IPack_Label_Print)LocateDALObject("RF.Package.Pack_Label_Print");
        }

        public static IDAL.RF.ProductCategory.IProductType_Pack CreateProductType_Pack()
        {
            return (IDAL.RF.ProductCategory.IProductType_Pack)LocateDALObject("RF.ProductCategory.ProductType_Pack");
        }

        public static IDAL.RF.Package.IPackintoBox CreatePackintoBox()
        {
            return (IDAL.RF.Package.IPackintoBox)LocateDALObject("RF.Package.PackintoBox");
        }

        public static IDAL.RF.Package.IPackintoBox_WithoutUpload CreatePackintoBox_WithoutUpload()
        {
            return (IDAL.RF.Package.IPackintoBox_WithoutUpload)LocateDALObject("RF.Package.PackintoBox_WithoutUpload");
        }

        public static IDAL.RF.Package.IUnpackfromBox CreateUnpackfromBox()
        {
            return (IDAL.RF.Package.IUnpackfromBox)LocateDALObject("RF.Package.UnpackfromBox");
        }

        public static IDAL.RF.Package.IPackintoBoxItem CreatePackintoBoxItem()
        {
            return (IDAL.RF.Package.IPackintoBoxItem)LocateDALObject("RF.Package.PackintoBoxItem");
        }

        public static IDAL.RF.Package.IPackintoBoxItem_WithoutUpload CreatePackintoBoxItem_WithoutUpload()
        {
            return (IDAL.RF.Package.IPackintoBoxItem_WithoutUpload)LocateDALObject("RF.Package.PackintoBoxItem_WithoutUpload");
        }

        public static IDAL.RF.Package.IUnpackfromBoxItem CreateUnpackfromBoxItem()
        {
            return (IDAL.RF.Package.IUnpackfromBoxItem)LocateDALObject("RF.Package.UnpackfromBoxItem");
        }

        //-------------------------------------以下为天线相关---------------------------------------------------------

        public static IDAL.ITProductType CreateTProductType()
        {
            return (IDAL.ITProductType)LocateDALObject("TProductType");
        }

        public static IDAL.ITMO CreateTMO()
        {
            return (IDAL.ITMO)LocateDALObject("TMO");
        }

        public static IDAL.ITHouse CreateTHouse()
        {
            return (IDAL.ITHouse)LocateDALObject("THouse");
        }

        //-------------------------------------以下为天线装配相关---------------------------------------------------------

        public static IDAL.ITAssembleDetail CreateTAssembleDetail()
        {
            return (IDAL.ITAssembleDetail)LocateDALObject("TAssembleDetail");
        }

        public static IDAL.ITAssembleDetailItem CreateTAssembleDetailItem()
        {
            return (IDAL.ITAssembleDetailItem)LocateDALObject("TAssembleDetailItem");
        }

        public static IDAL.ITAssembleDetails CreateTAssembleDetails()
        {
            return (IDAL.ITAssembleDetails)LocateDALObject("TAssembleDetails");
        }

        public static IDAL.ITAssembleStep CreateTAssembleStep()
        {
            return (IDAL.ITAssembleStep)LocateDALObject("TAssembleStep");
        }

        public static IDAL.ITAssembleStepItem CreateTAssembleStepItem()
        {
            return (IDAL.ITAssembleStepItem)LocateDALObject("TAssembleStepItem");
        }

        public static IDAL.ITSemiProduct CreateTSemiProduct()
        {
            return (IDAL.ITSemiProduct)LocateDALObject("TSemiProduct");
        }

        public static IDAL.ITSemiProductItem CreateTSemiProductItem()
        {
            return (IDAL.ITSemiProductItem)LocateDALObject("TSemiProductItem");
        }

        public static IDAL.ITPackageTest CreateTPackageTest()
        {
            return (IDAL.ITPackageTest)LocateDALObject("TPackageTest");
        }

        //-------------------------------------以下为天线交调相关---------------------------------------------------------

        public static IDAL.ITProductType_PIMInfo CreateTProductType_PIMInfo()
        {
            return (IDAL.ITProductType_PIMInfo)LocateDALObject("TProductType_PIMInfo");
        }

        public static IDAL.ITPIMTest CreateTPIMTest()
        {
            return (IDAL.ITPIMTest)LocateDALObject("TPIMTest");
        }

        public static IDAL.ITPIMTestItem CreateTPIMTestItem()
        {
            return (IDAL.ITPIMTestItem)LocateDALObject("TPIMTestItem");
        }

        //-------------------------------------以下为电调天线电性能测试相关---------------------------------------------------------

        public static IDAL.ITProductType_RETInfo CreateTProductType_RETInfo()
        {
            return (IDAL.ITProductType_RETInfo)LocateDALObject("TProductType_RETInfo");
        }

        public static IDAL.ITSTest CreateTSTest()
        {
            return (IDAL.ITSTest)LocateDALObject("TSTest");
        }

        public static IDAL.ITSTestItem CreateTSTestItem()
        {
            return (IDAL.ITSTestItem)LocateDALObject("TSTestItem");
        }

        //-------------------------------------以下为天线电性能测试相关---------------------------------------------------------

        public static IDAL.ITTest CreateTTest()
        {
            return (IDAL.ITTest)LocateDALObject("TTest");
        }

        public static IDAL.ITTestItem CreateTTestItem()
        {
            return (IDAL.ITTestItem)LocateDALObject("TTestItem");
        }

        //-------------------------------------以下为射频产品气密测试相关---------------------------------------------------------

        public static IDAL.IProductType_Airtightness CreateProductType_Airtightness()
        {
            return (IDAL.IProductType_Airtightness)LocateDALObject("ProductType_Airtightness");
        }

        public static IDAL.IAirtightness CreateAirtightness()
        {
            return (IDAL.IAirtightness)LocateDALObject("Airtightness");
        }


        //-------------------------------------以下为有源新产品追溯相关---------------------------------------------------------

        public static IDAL.A.IAPackageTest CreateAPackageTest()
        {
            return (IDAL.A.IAPackageTest)LocateDALObject("A.APackageTest");
        }

        public static IDAL.A.IAUnion CreateAUnion()
        {
            return (IDAL.A.IAUnion)LocateDALObject("A.AUnion");
        }

        public static IDAL.A.IATest CreateATest()
        {
            return (IDAL.A.IATest)LocateDALObject("A.ATest");
        }

        public static IDAL.A.IATest_OSC CreateATest_OSC()
        {
            return (IDAL.A.IATest_OSC)LocateDALObject("A.ATest_OSC");
        }

        public static IDAL.A.IATestItem CreateATestItem()
        {
            return (IDAL.A.IATestItem)LocateDALObject("A.ATestItem");
        }

        public static IDAL.A.IAFYGEPlugin CreateAFYGEPlugin()
        {
            return (IDAL.A.IAFYGEPlugin)LocateDALObject("A.AFYGEPlugin");
        }

        public static IDAL.A.IAppearanceCheck CreateAppearanceCheck()
        {
            return (IDAL.A.IAppearanceCheck)LocateDALObject("A.AppearanceCheck");
        }

        public static IDAL.A.IAProgramWriting CreateAProgramWriting()
        {
            return (IDAL.A.IAProgramWriting)LocateDALObject("A.AProgramWriting");
        }

        public static IDAL.A.IAllocateFYGESN CreateAllocateFYGESN()
        {
            return (IDAL.A.IAllocateFYGESN)LocateDALObject("A.AllocateFYGESN");
        }
    }
}
